Embedded devices are used in many systems, such as phones, tablets, and a variety of other electronic equipment. Embedded devices may include ICs, which may include field programmable gate arrays (“FPGAs”), SoCs, and SoC-FPGAs, for example. Image generator software, which conventionally runs on a general-purpose computer, such as a personal computer (“PC”) for example, may generate an image which is loaded into and runs on a fielded embedded device. Such an image may be loaded by such fielded embedded device, either with a “boot loader,” as is conventionally done with SoCs or SoC-FPGAs, or configuration circuitry, as is conventionally done with an FPGA. A boot loader may be used to load software for execution in an SoC for example.
Public-private key pair cryptography, such as RSA for example, may be used to authenticate software. Authentication may be used to verify that an adversary has not altered such software. In an authentication process, software may be signed with a private key. However, a threat to the security of a device is that an adversary may obtain such a private key.
Accordingly, it would be desirable to provide for more secure key handling which reduces exposure of a private key.